package com.niiwoo.civet.trade.dao.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ProjectExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ProjectExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andProjectIdIsNull() {
            addCriterion("project_id is null");
            return (Criteria) this;
        }

        public Criteria andProjectIdIsNotNull() {
            addCriterion("project_id is not null");
            return (Criteria) this;
        }

        public Criteria andProjectIdEqualTo(Long value) {
            addCriterion("project_id =", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotEqualTo(Long value) {
            addCriterion("project_id <>", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThan(Long value) {
            addCriterion("project_id >", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThanOrEqualTo(Long value) {
            addCriterion("project_id >=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThan(Long value) {
            addCriterion("project_id <", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThanOrEqualTo(Long value) {
            addCriterion("project_id <=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdIn(List<Long> values) {
            addCriterion("project_id in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotIn(List<Long> values) {
            addCriterion("project_id not in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdBetween(Long value1, Long value2) {
            addCriterion("project_id between", value1, value2, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotBetween(Long value1, Long value2) {
            addCriterion("project_id not between", value1, value2, "projectId");
            return (Criteria) this;
        }

        public Criteria andBorrowUserIdIsNull() {
            addCriterion("borrow_user_id is null");
            return (Criteria) this;
        }

        public Criteria andBorrowUserIdIsNotNull() {
            addCriterion("borrow_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andBorrowUserIdEqualTo(Long value) {
            addCriterion("borrow_user_id =", value, "borrowUserId");
            return (Criteria) this;
        }

        public Criteria andBorrowUserIdNotEqualTo(Long value) {
            addCriterion("borrow_user_id <>", value, "borrowUserId");
            return (Criteria) this;
        }

        public Criteria andBorrowUserIdGreaterThan(Long value) {
            addCriterion("borrow_user_id >", value, "borrowUserId");
            return (Criteria) this;
        }

        public Criteria andBorrowUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("borrow_user_id >=", value, "borrowUserId");
            return (Criteria) this;
        }

        public Criteria andBorrowUserIdLessThan(Long value) {
            addCriterion("borrow_user_id <", value, "borrowUserId");
            return (Criteria) this;
        }

        public Criteria andBorrowUserIdLessThanOrEqualTo(Long value) {
            addCriterion("borrow_user_id <=", value, "borrowUserId");
            return (Criteria) this;
        }

        public Criteria andBorrowUserIdIn(List<Long> values) {
            addCriterion("borrow_user_id in", values, "borrowUserId");
            return (Criteria) this;
        }

        public Criteria andBorrowUserIdNotIn(List<Long> values) {
            addCriterion("borrow_user_id not in", values, "borrowUserId");
            return (Criteria) this;
        }

        public Criteria andBorrowUserIdBetween(Long value1, Long value2) {
            addCriterion("borrow_user_id between", value1, value2, "borrowUserId");
            return (Criteria) this;
        }

        public Criteria andBorrowUserIdNotBetween(Long value1, Long value2) {
            addCriterion("borrow_user_id not between", value1, value2, "borrowUserId");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameIsNull() {
            addCriterion("borrow_user_name is null");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameIsNotNull() {
            addCriterion("borrow_user_name is not null");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameEqualTo(String value) {
            addCriterion("borrow_user_name =", value, "borrowUserName");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameNotEqualTo(String value) {
            addCriterion("borrow_user_name <>", value, "borrowUserName");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameGreaterThan(String value) {
            addCriterion("borrow_user_name >", value, "borrowUserName");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("borrow_user_name >=", value, "borrowUserName");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameLessThan(String value) {
            addCriterion("borrow_user_name <", value, "borrowUserName");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameLessThanOrEqualTo(String value) {
            addCriterion("borrow_user_name <=", value, "borrowUserName");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameLike(String value) {
            addCriterion("borrow_user_name like", value, "borrowUserName");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameNotLike(String value) {
            addCriterion("borrow_user_name not like", value, "borrowUserName");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameIn(List<String> values) {
            addCriterion("borrow_user_name in", values, "borrowUserName");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameNotIn(List<String> values) {
            addCriterion("borrow_user_name not in", values, "borrowUserName");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameBetween(String value1, String value2) {
            addCriterion("borrow_user_name between", value1, value2, "borrowUserName");
            return (Criteria) this;
        }

        public Criteria andBorrowUserNameNotBetween(String value1, String value2) {
            addCriterion("borrow_user_name not between", value1, value2, "borrowUserName");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileIsNull() {
            addCriterion("borrow_mobile is null");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileIsNotNull() {
            addCriterion("borrow_mobile is not null");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileEqualTo(String value) {
            addCriterion("borrow_mobile =", value, "borrowMobile");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileNotEqualTo(String value) {
            addCriterion("borrow_mobile <>", value, "borrowMobile");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileGreaterThan(String value) {
            addCriterion("borrow_mobile >", value, "borrowMobile");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileGreaterThanOrEqualTo(String value) {
            addCriterion("borrow_mobile >=", value, "borrowMobile");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileLessThan(String value) {
            addCriterion("borrow_mobile <", value, "borrowMobile");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileLessThanOrEqualTo(String value) {
            addCriterion("borrow_mobile <=", value, "borrowMobile");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileLike(String value) {
            addCriterion("borrow_mobile like", value, "borrowMobile");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileNotLike(String value) {
            addCriterion("borrow_mobile not like", value, "borrowMobile");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileIn(List<String> values) {
            addCriterion("borrow_mobile in", values, "borrowMobile");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileNotIn(List<String> values) {
            addCriterion("borrow_mobile not in", values, "borrowMobile");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileBetween(String value1, String value2) {
            addCriterion("borrow_mobile between", value1, value2, "borrowMobile");
            return (Criteria) this;
        }

        public Criteria andBorrowMobileNotBetween(String value1, String value2) {
            addCriterion("borrow_mobile not between", value1, value2, "borrowMobile");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardIsNull() {
            addCriterion("borrow_id_card is null");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardIsNotNull() {
            addCriterion("borrow_id_card is not null");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardEqualTo(String value) {
            addCriterion("borrow_id_card =", value, "borrowIdCard");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardNotEqualTo(String value) {
            addCriterion("borrow_id_card <>", value, "borrowIdCard");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardGreaterThan(String value) {
            addCriterion("borrow_id_card >", value, "borrowIdCard");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardGreaterThanOrEqualTo(String value) {
            addCriterion("borrow_id_card >=", value, "borrowIdCard");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardLessThan(String value) {
            addCriterion("borrow_id_card <", value, "borrowIdCard");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardLessThanOrEqualTo(String value) {
            addCriterion("borrow_id_card <=", value, "borrowIdCard");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardLike(String value) {
            addCriterion("borrow_id_card like", value, "borrowIdCard");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardNotLike(String value) {
            addCriterion("borrow_id_card not like", value, "borrowIdCard");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardIn(List<String> values) {
            addCriterion("borrow_id_card in", values, "borrowIdCard");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardNotIn(List<String> values) {
            addCriterion("borrow_id_card not in", values, "borrowIdCard");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardBetween(String value1, String value2) {
            addCriterion("borrow_id_card between", value1, value2, "borrowIdCard");
            return (Criteria) this;
        }

        public Criteria andBorrowIdCardNotBetween(String value1, String value2) {
            addCriterion("borrow_id_card not between", value1, value2, "borrowIdCard");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andContractAmountIsNull() {
            addCriterion("contract_amount is null");
            return (Criteria) this;
        }

        public Criteria andContractAmountIsNotNull() {
            addCriterion("contract_amount is not null");
            return (Criteria) this;
        }

        public Criteria andContractAmountEqualTo(BigDecimal value) {
            addCriterion("contract_amount =", value, "contractAmount");
            return (Criteria) this;
        }

        public Criteria andContractAmountNotEqualTo(BigDecimal value) {
            addCriterion("contract_amount <>", value, "contractAmount");
            return (Criteria) this;
        }

        public Criteria andContractAmountGreaterThan(BigDecimal value) {
            addCriterion("contract_amount >", value, "contractAmount");
            return (Criteria) this;
        }

        public Criteria andContractAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("contract_amount >=", value, "contractAmount");
            return (Criteria) this;
        }

        public Criteria andContractAmountLessThan(BigDecimal value) {
            addCriterion("contract_amount <", value, "contractAmount");
            return (Criteria) this;
        }

        public Criteria andContractAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("contract_amount <=", value, "contractAmount");
            return (Criteria) this;
        }

        public Criteria andContractAmountIn(List<BigDecimal> values) {
            addCriterion("contract_amount in", values, "contractAmount");
            return (Criteria) this;
        }

        public Criteria andContractAmountNotIn(List<BigDecimal> values) {
            addCriterion("contract_amount not in", values, "contractAmount");
            return (Criteria) this;
        }

        public Criteria andContractAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("contract_amount between", value1, value2, "contractAmount");
            return (Criteria) this;
        }

        public Criteria andContractAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("contract_amount not between", value1, value2, "contractAmount");
            return (Criteria) this;
        }

        public Criteria andHandAmountIsNull() {
            addCriterion("hand_amount is null");
            return (Criteria) this;
        }

        public Criteria andHandAmountIsNotNull() {
            addCriterion("hand_amount is not null");
            return (Criteria) this;
        }

        public Criteria andHandAmountEqualTo(BigDecimal value) {
            addCriterion("hand_amount =", value, "handAmount");
            return (Criteria) this;
        }

        public Criteria andHandAmountNotEqualTo(BigDecimal value) {
            addCriterion("hand_amount <>", value, "handAmount");
            return (Criteria) this;
        }

        public Criteria andHandAmountGreaterThan(BigDecimal value) {
            addCriterion("hand_amount >", value, "handAmount");
            return (Criteria) this;
        }

        public Criteria andHandAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("hand_amount >=", value, "handAmount");
            return (Criteria) this;
        }

        public Criteria andHandAmountLessThan(BigDecimal value) {
            addCriterion("hand_amount <", value, "handAmount");
            return (Criteria) this;
        }

        public Criteria andHandAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("hand_amount <=", value, "handAmount");
            return (Criteria) this;
        }

        public Criteria andHandAmountIn(List<BigDecimal> values) {
            addCriterion("hand_amount in", values, "handAmount");
            return (Criteria) this;
        }

        public Criteria andHandAmountNotIn(List<BigDecimal> values) {
            addCriterion("hand_amount not in", values, "handAmount");
            return (Criteria) this;
        }

        public Criteria andHandAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("hand_amount between", value1, value2, "handAmount");
            return (Criteria) this;
        }

        public Criteria andHandAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("hand_amount not between", value1, value2, "handAmount");
            return (Criteria) this;
        }

        public Criteria andInvestedAmountIsNull() {
            addCriterion("invested_amount is null");
            return (Criteria) this;
        }

        public Criteria andInvestedAmountIsNotNull() {
            addCriterion("invested_amount is not null");
            return (Criteria) this;
        }

        public Criteria andInvestedAmountEqualTo(BigDecimal value) {
            addCriterion("invested_amount =", value, "investedAmount");
            return (Criteria) this;
        }

        public Criteria andInvestedAmountNotEqualTo(BigDecimal value) {
            addCriterion("invested_amount <>", value, "investedAmount");
            return (Criteria) this;
        }

        public Criteria andInvestedAmountGreaterThan(BigDecimal value) {
            addCriterion("invested_amount >", value, "investedAmount");
            return (Criteria) this;
        }

        public Criteria andInvestedAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("invested_amount >=", value, "investedAmount");
            return (Criteria) this;
        }

        public Criteria andInvestedAmountLessThan(BigDecimal value) {
            addCriterion("invested_amount <", value, "investedAmount");
            return (Criteria) this;
        }

        public Criteria andInvestedAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("invested_amount <=", value, "investedAmount");
            return (Criteria) this;
        }

        public Criteria andInvestedAmountIn(List<BigDecimal> values) {
            addCriterion("invested_amount in", values, "investedAmount");
            return (Criteria) this;
        }

        public Criteria andInvestedAmountNotIn(List<BigDecimal> values) {
            addCriterion("invested_amount not in", values, "investedAmount");
            return (Criteria) this;
        }

        public Criteria andInvestedAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("invested_amount between", value1, value2, "investedAmount");
            return (Criteria) this;
        }

        public Criteria andInvestedAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("invested_amount not between", value1, value2, "investedAmount");
            return (Criteria) this;
        }

        public Criteria andBorrowRateIsNull() {
            addCriterion("borrow_rate is null");
            return (Criteria) this;
        }

        public Criteria andBorrowRateIsNotNull() {
            addCriterion("borrow_rate is not null");
            return (Criteria) this;
        }

        public Criteria andBorrowRateEqualTo(BigDecimal value) {
            addCriterion("borrow_rate =", value, "borrowRate");
            return (Criteria) this;
        }

        public Criteria andBorrowRateNotEqualTo(BigDecimal value) {
            addCriterion("borrow_rate <>", value, "borrowRate");
            return (Criteria) this;
        }

        public Criteria andBorrowRateGreaterThan(BigDecimal value) {
            addCriterion("borrow_rate >", value, "borrowRate");
            return (Criteria) this;
        }

        public Criteria andBorrowRateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("borrow_rate >=", value, "borrowRate");
            return (Criteria) this;
        }

        public Criteria andBorrowRateLessThan(BigDecimal value) {
            addCriterion("borrow_rate <", value, "borrowRate");
            return (Criteria) this;
        }

        public Criteria andBorrowRateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("borrow_rate <=", value, "borrowRate");
            return (Criteria) this;
        }

        public Criteria andBorrowRateIn(List<BigDecimal> values) {
            addCriterion("borrow_rate in", values, "borrowRate");
            return (Criteria) this;
        }

        public Criteria andBorrowRateNotIn(List<BigDecimal> values) {
            addCriterion("borrow_rate not in", values, "borrowRate");
            return (Criteria) this;
        }

        public Criteria andBorrowRateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("borrow_rate between", value1, value2, "borrowRate");
            return (Criteria) this;
        }

        public Criteria andBorrowRateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("borrow_rate not between", value1, value2, "borrowRate");
            return (Criteria) this;
        }

        public Criteria andPenaltyRateIsNull() {
            addCriterion("penalty_rate is null");
            return (Criteria) this;
        }

        public Criteria andPenaltyRateIsNotNull() {
            addCriterion("penalty_rate is not null");
            return (Criteria) this;
        }

        public Criteria andPenaltyRateEqualTo(BigDecimal value) {
            addCriterion("penalty_rate =", value, "penaltyRate");
            return (Criteria) this;
        }

        public Criteria andPenaltyRateNotEqualTo(BigDecimal value) {
            addCriterion("penalty_rate <>", value, "penaltyRate");
            return (Criteria) this;
        }

        public Criteria andPenaltyRateGreaterThan(BigDecimal value) {
            addCriterion("penalty_rate >", value, "penaltyRate");
            return (Criteria) this;
        }

        public Criteria andPenaltyRateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("penalty_rate >=", value, "penaltyRate");
            return (Criteria) this;
        }

        public Criteria andPenaltyRateLessThan(BigDecimal value) {
            addCriterion("penalty_rate <", value, "penaltyRate");
            return (Criteria) this;
        }

        public Criteria andPenaltyRateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("penalty_rate <=", value, "penaltyRate");
            return (Criteria) this;
        }

        public Criteria andPenaltyRateIn(List<BigDecimal> values) {
            addCriterion("penalty_rate in", values, "penaltyRate");
            return (Criteria) this;
        }

        public Criteria andPenaltyRateNotIn(List<BigDecimal> values) {
            addCriterion("penalty_rate not in", values, "penaltyRate");
            return (Criteria) this;
        }

        public Criteria andPenaltyRateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("penalty_rate between", value1, value2, "penaltyRate");
            return (Criteria) this;
        }

        public Criteria andPenaltyRateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("penalty_rate not between", value1, value2, "penaltyRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateIsNull() {
            addCriterion("service_rate is null");
            return (Criteria) this;
        }

        public Criteria andServiceRateIsNotNull() {
            addCriterion("service_rate is not null");
            return (Criteria) this;
        }

        public Criteria andServiceRateEqualTo(BigDecimal value) {
            addCriterion("service_rate =", value, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateNotEqualTo(BigDecimal value) {
            addCriterion("service_rate <>", value, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateGreaterThan(BigDecimal value) {
            addCriterion("service_rate >", value, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("service_rate >=", value, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateLessThan(BigDecimal value) {
            addCriterion("service_rate <", value, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("service_rate <=", value, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateIn(List<BigDecimal> values) {
            addCriterion("service_rate in", values, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateNotIn(List<BigDecimal> values) {
            addCriterion("service_rate not in", values, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("service_rate between", value1, value2, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("service_rate not between", value1, value2, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andManageRateIsNull() {
            addCriterion("manage_rate is null");
            return (Criteria) this;
        }

        public Criteria andManageRateIsNotNull() {
            addCriterion("manage_rate is not null");
            return (Criteria) this;
        }

        public Criteria andManageRateEqualTo(BigDecimal value) {
            addCriterion("manage_rate =", value, "manageRate");
            return (Criteria) this;
        }

        public Criteria andManageRateNotEqualTo(BigDecimal value) {
            addCriterion("manage_rate <>", value, "manageRate");
            return (Criteria) this;
        }

        public Criteria andManageRateGreaterThan(BigDecimal value) {
            addCriterion("manage_rate >", value, "manageRate");
            return (Criteria) this;
        }

        public Criteria andManageRateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("manage_rate >=", value, "manageRate");
            return (Criteria) this;
        }

        public Criteria andManageRateLessThan(BigDecimal value) {
            addCriterion("manage_rate <", value, "manageRate");
            return (Criteria) this;
        }

        public Criteria andManageRateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("manage_rate <=", value, "manageRate");
            return (Criteria) this;
        }

        public Criteria andManageRateIn(List<BigDecimal> values) {
            addCriterion("manage_rate in", values, "manageRate");
            return (Criteria) this;
        }

        public Criteria andManageRateNotIn(List<BigDecimal> values) {
            addCriterion("manage_rate not in", values, "manageRate");
            return (Criteria) this;
        }

        public Criteria andManageRateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("manage_rate between", value1, value2, "manageRate");
            return (Criteria) this;
        }

        public Criteria andManageRateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("manage_rate not between", value1, value2, "manageRate");
            return (Criteria) this;
        }

        public Criteria andGuaranteeRateIsNull() {
            addCriterion("guarantee_rate is null");
            return (Criteria) this;
        }

        public Criteria andGuaranteeRateIsNotNull() {
            addCriterion("guarantee_rate is not null");
            return (Criteria) this;
        }

        public Criteria andGuaranteeRateEqualTo(BigDecimal value) {
            addCriterion("guarantee_rate =", value, "guaranteeRate");
            return (Criteria) this;
        }

        public Criteria andGuaranteeRateNotEqualTo(BigDecimal value) {
            addCriterion("guarantee_rate <>", value, "guaranteeRate");
            return (Criteria) this;
        }

        public Criteria andGuaranteeRateGreaterThan(BigDecimal value) {
            addCriterion("guarantee_rate >", value, "guaranteeRate");
            return (Criteria) this;
        }

        public Criteria andGuaranteeRateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("guarantee_rate >=", value, "guaranteeRate");
            return (Criteria) this;
        }

        public Criteria andGuaranteeRateLessThan(BigDecimal value) {
            addCriterion("guarantee_rate <", value, "guaranteeRate");
            return (Criteria) this;
        }

        public Criteria andGuaranteeRateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("guarantee_rate <=", value, "guaranteeRate");
            return (Criteria) this;
        }

        public Criteria andGuaranteeRateIn(List<BigDecimal> values) {
            addCriterion("guarantee_rate in", values, "guaranteeRate");
            return (Criteria) this;
        }

        public Criteria andGuaranteeRateNotIn(List<BigDecimal> values) {
            addCriterion("guarantee_rate not in", values, "guaranteeRate");
            return (Criteria) this;
        }

        public Criteria andGuaranteeRateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("guarantee_rate between", value1, value2, "guaranteeRate");
            return (Criteria) this;
        }

        public Criteria andGuaranteeRateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("guarantee_rate not between", value1, value2, "guaranteeRate");
            return (Criteria) this;
        }

        public Criteria andArbitrationRateIsNull() {
            addCriterion("arbitration_rate is null");
            return (Criteria) this;
        }

        public Criteria andArbitrationRateIsNotNull() {
            addCriterion("arbitration_rate is not null");
            return (Criteria) this;
        }

        public Criteria andArbitrationRateEqualTo(BigDecimal value) {
            addCriterion("arbitration_rate =", value, "arbitrationRate");
            return (Criteria) this;
        }

        public Criteria andArbitrationRateNotEqualTo(BigDecimal value) {
            addCriterion("arbitration_rate <>", value, "arbitrationRate");
            return (Criteria) this;
        }

        public Criteria andArbitrationRateGreaterThan(BigDecimal value) {
            addCriterion("arbitration_rate >", value, "arbitrationRate");
            return (Criteria) this;
        }

        public Criteria andArbitrationRateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("arbitration_rate >=", value, "arbitrationRate");
            return (Criteria) this;
        }

        public Criteria andArbitrationRateLessThan(BigDecimal value) {
            addCriterion("arbitration_rate <", value, "arbitrationRate");
            return (Criteria) this;
        }

        public Criteria andArbitrationRateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("arbitration_rate <=", value, "arbitrationRate");
            return (Criteria) this;
        }

        public Criteria andArbitrationRateIn(List<BigDecimal> values) {
            addCriterion("arbitration_rate in", values, "arbitrationRate");
            return (Criteria) this;
        }

        public Criteria andArbitrationRateNotIn(List<BigDecimal> values) {
            addCriterion("arbitration_rate not in", values, "arbitrationRate");
            return (Criteria) this;
        }

        public Criteria andArbitrationRateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("arbitration_rate between", value1, value2, "arbitrationRate");
            return (Criteria) this;
        }

        public Criteria andArbitrationRateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("arbitration_rate not between", value1, value2, "arbitrationRate");
            return (Criteria) this;
        }

        public Criteria andRepaymentTypeIsNull() {
            addCriterion("repayment_type is null");
            return (Criteria) this;
        }

        public Criteria andRepaymentTypeIsNotNull() {
            addCriterion("repayment_type is not null");
            return (Criteria) this;
        }

        public Criteria andRepaymentTypeEqualTo(Byte value) {
            addCriterion("repayment_type =", value, "repaymentType");
            return (Criteria) this;
        }

        public Criteria andRepaymentTypeNotEqualTo(Byte value) {
            addCriterion("repayment_type <>", value, "repaymentType");
            return (Criteria) this;
        }

        public Criteria andRepaymentTypeGreaterThan(Byte value) {
            addCriterion("repayment_type >", value, "repaymentType");
            return (Criteria) this;
        }

        public Criteria andRepaymentTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("repayment_type >=", value, "repaymentType");
            return (Criteria) this;
        }

        public Criteria andRepaymentTypeLessThan(Byte value) {
            addCriterion("repayment_type <", value, "repaymentType");
            return (Criteria) this;
        }

        public Criteria andRepaymentTypeLessThanOrEqualTo(Byte value) {
            addCriterion("repayment_type <=", value, "repaymentType");
            return (Criteria) this;
        }

        public Criteria andRepaymentTypeIn(List<Byte> values) {
            addCriterion("repayment_type in", values, "repaymentType");
            return (Criteria) this;
        }

        public Criteria andRepaymentTypeNotIn(List<Byte> values) {
            addCriterion("repayment_type not in", values, "repaymentType");
            return (Criteria) this;
        }

        public Criteria andRepaymentTypeBetween(Byte value1, Byte value2) {
            addCriterion("repayment_type between", value1, value2, "repaymentType");
            return (Criteria) this;
        }

        public Criteria andRepaymentTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("repayment_type not between", value1, value2, "repaymentType");
            return (Criteria) this;
        }

        public Criteria andDeadlineIsNull() {
            addCriterion("deadline is null");
            return (Criteria) this;
        }

        public Criteria andDeadlineIsNotNull() {
            addCriterion("deadline is not null");
            return (Criteria) this;
        }

        public Criteria andDeadlineEqualTo(Integer value) {
            addCriterion("deadline =", value, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineNotEqualTo(Integer value) {
            addCriterion("deadline <>", value, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineGreaterThan(Integer value) {
            addCriterion("deadline >", value, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineGreaterThanOrEqualTo(Integer value) {
            addCriterion("deadline >=", value, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineLessThan(Integer value) {
            addCriterion("deadline <", value, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineLessThanOrEqualTo(Integer value) {
            addCriterion("deadline <=", value, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineIn(List<Integer> values) {
            addCriterion("deadline in", values, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineNotIn(List<Integer> values) {
            addCriterion("deadline not in", values, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineBetween(Integer value1, Integer value2) {
            addCriterion("deadline between", value1, value2, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineNotBetween(Integer value1, Integer value2) {
            addCriterion("deadline not between", value1, value2, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineUnitIsNull() {
            addCriterion("deadline_unit is null");
            return (Criteria) this;
        }

        public Criteria andDeadlineUnitIsNotNull() {
            addCriterion("deadline_unit is not null");
            return (Criteria) this;
        }

        public Criteria andDeadlineUnitEqualTo(Byte value) {
            addCriterion("deadline_unit =", value, "deadlineUnit");
            return (Criteria) this;
        }

        public Criteria andDeadlineUnitNotEqualTo(Byte value) {
            addCriterion("deadline_unit <>", value, "deadlineUnit");
            return (Criteria) this;
        }

        public Criteria andDeadlineUnitGreaterThan(Byte value) {
            addCriterion("deadline_unit >", value, "deadlineUnit");
            return (Criteria) this;
        }

        public Criteria andDeadlineUnitGreaterThanOrEqualTo(Byte value) {
            addCriterion("deadline_unit >=", value, "deadlineUnit");
            return (Criteria) this;
        }

        public Criteria andDeadlineUnitLessThan(Byte value) {
            addCriterion("deadline_unit <", value, "deadlineUnit");
            return (Criteria) this;
        }

        public Criteria andDeadlineUnitLessThanOrEqualTo(Byte value) {
            addCriterion("deadline_unit <=", value, "deadlineUnit");
            return (Criteria) this;
        }

        public Criteria andDeadlineUnitIn(List<Byte> values) {
            addCriterion("deadline_unit in", values, "deadlineUnit");
            return (Criteria) this;
        }

        public Criteria andDeadlineUnitNotIn(List<Byte> values) {
            addCriterion("deadline_unit not in", values, "deadlineUnit");
            return (Criteria) this;
        }

        public Criteria andDeadlineUnitBetween(Byte value1, Byte value2) {
            addCriterion("deadline_unit between", value1, value2, "deadlineUnit");
            return (Criteria) this;
        }

        public Criteria andDeadlineUnitNotBetween(Byte value1, Byte value2) {
            addCriterion("deadline_unit not between", value1, value2, "deadlineUnit");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Byte value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Byte value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Byte value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Byte value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Byte value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Byte> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Byte> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Byte value1, Byte value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andSubStatusIsNull() {
            addCriterion("sub_status is null");
            return (Criteria) this;
        }

        public Criteria andSubStatusIsNotNull() {
            addCriterion("sub_status is not null");
            return (Criteria) this;
        }

        public Criteria andSubStatusEqualTo(Integer value) {
            addCriterion("sub_status =", value, "subStatus");
            return (Criteria) this;
        }

        public Criteria andSubStatusNotEqualTo(Integer value) {
            addCriterion("sub_status <>", value, "subStatus");
            return (Criteria) this;
        }

        public Criteria andSubStatusGreaterThan(Integer value) {
            addCriterion("sub_status >", value, "subStatus");
            return (Criteria) this;
        }

        public Criteria andSubStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("sub_status >=", value, "subStatus");
            return (Criteria) this;
        }

        public Criteria andSubStatusLessThan(Integer value) {
            addCriterion("sub_status <", value, "subStatus");
            return (Criteria) this;
        }

        public Criteria andSubStatusLessThanOrEqualTo(Integer value) {
            addCriterion("sub_status <=", value, "subStatus");
            return (Criteria) this;
        }

        public Criteria andSubStatusIn(List<Integer> values) {
            addCriterion("sub_status in", values, "subStatus");
            return (Criteria) this;
        }

        public Criteria andSubStatusNotIn(List<Integer> values) {
            addCriterion("sub_status not in", values, "subStatus");
            return (Criteria) this;
        }

        public Criteria andSubStatusBetween(Integer value1, Integer value2) {
            addCriterion("sub_status between", value1, value2, "subStatus");
            return (Criteria) this;
        }

        public Criteria andSubStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("sub_status not between", value1, value2, "subStatus");
            return (Criteria) this;
        }

        public Criteria andChannelCodeIsNull() {
            addCriterion("channel_code is null");
            return (Criteria) this;
        }

        public Criteria andChannelCodeIsNotNull() {
            addCriterion("channel_code is not null");
            return (Criteria) this;
        }

        public Criteria andChannelCodeEqualTo(String value) {
            addCriterion("channel_code =", value, "channelCode");
            return (Criteria) this;
        }

        public Criteria andChannelCodeNotEqualTo(String value) {
            addCriterion("channel_code <>", value, "channelCode");
            return (Criteria) this;
        }

        public Criteria andChannelCodeGreaterThan(String value) {
            addCriterion("channel_code >", value, "channelCode");
            return (Criteria) this;
        }

        public Criteria andChannelCodeGreaterThanOrEqualTo(String value) {
            addCriterion("channel_code >=", value, "channelCode");
            return (Criteria) this;
        }

        public Criteria andChannelCodeLessThan(String value) {
            addCriterion("channel_code <", value, "channelCode");
            return (Criteria) this;
        }

        public Criteria andChannelCodeLessThanOrEqualTo(String value) {
            addCriterion("channel_code <=", value, "channelCode");
            return (Criteria) this;
        }

        public Criteria andChannelCodeLike(String value) {
            addCriterion("channel_code like", value, "channelCode");
            return (Criteria) this;
        }

        public Criteria andChannelCodeNotLike(String value) {
            addCriterion("channel_code not like", value, "channelCode");
            return (Criteria) this;
        }

        public Criteria andChannelCodeIn(List<String> values) {
            addCriterion("channel_code in", values, "channelCode");
            return (Criteria) this;
        }

        public Criteria andChannelCodeNotIn(List<String> values) {
            addCriterion("channel_code not in", values, "channelCode");
            return (Criteria) this;
        }

        public Criteria andChannelCodeBetween(String value1, String value2) {
            addCriterion("channel_code between", value1, value2, "channelCode");
            return (Criteria) this;
        }

        public Criteria andChannelCodeNotBetween(String value1, String value2) {
            addCriterion("channel_code not between", value1, value2, "channelCode");
            return (Criteria) this;
        }

        public Criteria andDeliverytimeIsNull() {
            addCriterion("deliveryTime is null");
            return (Criteria) this;
        }

        public Criteria andDeliverytimeIsNotNull() {
            addCriterion("deliveryTime is not null");
            return (Criteria) this;
        }

        public Criteria andDeliverytimeEqualTo(Date value) {
            addCriterion("deliveryTime =", value, "deliverytime");
            return (Criteria) this;
        }

        public Criteria andDeliverytimeNotEqualTo(Date value) {
            addCriterion("deliveryTime <>", value, "deliverytime");
            return (Criteria) this;
        }

        public Criteria andDeliverytimeGreaterThan(Date value) {
            addCriterion("deliveryTime >", value, "deliverytime");
            return (Criteria) this;
        }

        public Criteria andDeliverytimeGreaterThanOrEqualTo(Date value) {
            addCriterion("deliveryTime >=", value, "deliverytime");
            return (Criteria) this;
        }

        public Criteria andDeliverytimeLessThan(Date value) {
            addCriterion("deliveryTime <", value, "deliverytime");
            return (Criteria) this;
        }

        public Criteria andDeliverytimeLessThanOrEqualTo(Date value) {
            addCriterion("deliveryTime <=", value, "deliverytime");
            return (Criteria) this;
        }

        public Criteria andDeliverytimeIn(List<Date> values) {
            addCriterion("deliveryTime in", values, "deliverytime");
            return (Criteria) this;
        }

        public Criteria andDeliverytimeNotIn(List<Date> values) {
            addCriterion("deliveryTime not in", values, "deliverytime");
            return (Criteria) this;
        }

        public Criteria andDeliverytimeBetween(Date value1, Date value2) {
            addCriterion("deliveryTime between", value1, value2, "deliverytime");
            return (Criteria) this;
        }

        public Criteria andDeliverytimeNotBetween(Date value1, Date value2) {
            addCriterion("deliveryTime not between", value1, value2, "deliverytime");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Byte value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Byte value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Byte value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Byte value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Byte value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Byte> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Byte> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Byte value1, Byte value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andFromSourceIsNull() {
            addCriterion("from_source is null");
            return (Criteria) this;
        }

        public Criteria andFromSourceIsNotNull() {
            addCriterion("from_source is not null");
            return (Criteria) this;
        }

        public Criteria andFromSourceEqualTo(Byte value) {
            addCriterion("from_source =", value, "fromSource");
            return (Criteria) this;
        }

        public Criteria andFromSourceNotEqualTo(Byte value) {
            addCriterion("from_source <>", value, "fromSource");
            return (Criteria) this;
        }

        public Criteria andFromSourceGreaterThan(Byte value) {
            addCriterion("from_source >", value, "fromSource");
            return (Criteria) this;
        }

        public Criteria andFromSourceGreaterThanOrEqualTo(Byte value) {
            addCriterion("from_source >=", value, "fromSource");
            return (Criteria) this;
        }

        public Criteria andFromSourceLessThan(Byte value) {
            addCriterion("from_source <", value, "fromSource");
            return (Criteria) this;
        }

        public Criteria andFromSourceLessThanOrEqualTo(Byte value) {
            addCriterion("from_source <=", value, "fromSource");
            return (Criteria) this;
        }

        public Criteria andFromSourceIn(List<Byte> values) {
            addCriterion("from_source in", values, "fromSource");
            return (Criteria) this;
        }

        public Criteria andFromSourceNotIn(List<Byte> values) {
            addCriterion("from_source not in", values, "fromSource");
            return (Criteria) this;
        }

        public Criteria andFromSourceBetween(Byte value1, Byte value2) {
            addCriterion("from_source between", value1, value2, "fromSource");
            return (Criteria) this;
        }

        public Criteria andFromSourceNotBetween(Byte value1, Byte value2) {
            addCriterion("from_source not between", value1, value2, "fromSource");
            return (Criteria) this;
        }

        public Criteria andLoanTimesIsNull() {
            addCriterion("loan_times is null");
            return (Criteria) this;
        }

        public Criteria andLoanTimesIsNotNull() {
            addCriterion("loan_times is not null");
            return (Criteria) this;
        }

        public Criteria andLoanTimesEqualTo(Integer value) {
            addCriterion("loan_times =", value, "loanTimes");
            return (Criteria) this;
        }

        public Criteria andLoanTimesNotEqualTo(Integer value) {
            addCriterion("loan_times <>", value, "loanTimes");
            return (Criteria) this;
        }

        public Criteria andLoanTimesGreaterThan(Integer value) {
            addCriterion("loan_times >", value, "loanTimes");
            return (Criteria) this;
        }

        public Criteria andLoanTimesGreaterThanOrEqualTo(Integer value) {
            addCriterion("loan_times >=", value, "loanTimes");
            return (Criteria) this;
        }

        public Criteria andLoanTimesLessThan(Integer value) {
            addCriterion("loan_times <", value, "loanTimes");
            return (Criteria) this;
        }

        public Criteria andLoanTimesLessThanOrEqualTo(Integer value) {
            addCriterion("loan_times <=", value, "loanTimes");
            return (Criteria) this;
        }

        public Criteria andLoanTimesIn(List<Integer> values) {
            addCriterion("loan_times in", values, "loanTimes");
            return (Criteria) this;
        }

        public Criteria andLoanTimesNotIn(List<Integer> values) {
            addCriterion("loan_times not in", values, "loanTimes");
            return (Criteria) this;
        }

        public Criteria andLoanTimesBetween(Integer value1, Integer value2) {
            addCriterion("loan_times between", value1, value2, "loanTimes");
            return (Criteria) this;
        }

        public Criteria andLoanTimesNotBetween(Integer value1, Integer value2) {
            addCriterion("loan_times not between", value1, value2, "loanTimes");
            return (Criteria) this;
        }

        public Criteria andZhimaScoreIsNull() {
            addCriterion("zhima_score is null");
            return (Criteria) this;
        }

        public Criteria andZhimaScoreIsNotNull() {
            addCriterion("zhima_score is not null");
            return (Criteria) this;
        }

        public Criteria andZhimaScoreEqualTo(Integer value) {
            addCriterion("zhima_score =", value, "zhimaScore");
            return (Criteria) this;
        }

        public Criteria andZhimaScoreNotEqualTo(Integer value) {
            addCriterion("zhima_score <>", value, "zhimaScore");
            return (Criteria) this;
        }

        public Criteria andZhimaScoreGreaterThan(Integer value) {
            addCriterion("zhima_score >", value, "zhimaScore");
            return (Criteria) this;
        }

        public Criteria andZhimaScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("zhima_score >=", value, "zhimaScore");
            return (Criteria) this;
        }

        public Criteria andZhimaScoreLessThan(Integer value) {
            addCriterion("zhima_score <", value, "zhimaScore");
            return (Criteria) this;
        }

        public Criteria andZhimaScoreLessThanOrEqualTo(Integer value) {
            addCriterion("zhima_score <=", value, "zhimaScore");
            return (Criteria) this;
        }

        public Criteria andZhimaScoreIn(List<Integer> values) {
            addCriterion("zhima_score in", values, "zhimaScore");
            return (Criteria) this;
        }

        public Criteria andZhimaScoreNotIn(List<Integer> values) {
            addCriterion("zhima_score not in", values, "zhimaScore");
            return (Criteria) this;
        }

        public Criteria andZhimaScoreBetween(Integer value1, Integer value2) {
            addCriterion("zhima_score between", value1, value2, "zhimaScore");
            return (Criteria) this;
        }

        public Criteria andZhimaScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("zhima_score not between", value1, value2, "zhimaScore");
            return (Criteria) this;
        }

        public Criteria andContactsBackflowStatusIsNull() {
            addCriterion("contacts_backflow_status is null");
            return (Criteria) this;
        }

        public Criteria andContactsBackflowStatusIsNotNull() {
            addCriterion("contacts_backflow_status is not null");
            return (Criteria) this;
        }

        public Criteria andContactsBackflowStatusEqualTo(Byte value) {
            addCriterion("contacts_backflow_status =", value, "contactsBackflowStatus");
            return (Criteria) this;
        }

        public Criteria andContactsBackflowStatusNotEqualTo(Byte value) {
            addCriterion("contacts_backflow_status <>", value, "contactsBackflowStatus");
            return (Criteria) this;
        }

        public Criteria andContactsBackflowStatusGreaterThan(Byte value) {
            addCriterion("contacts_backflow_status >", value, "contactsBackflowStatus");
            return (Criteria) this;
        }

        public Criteria andContactsBackflowStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("contacts_backflow_status >=", value, "contactsBackflowStatus");
            return (Criteria) this;
        }

        public Criteria andContactsBackflowStatusLessThan(Byte value) {
            addCriterion("contacts_backflow_status <", value, "contactsBackflowStatus");
            return (Criteria) this;
        }

        public Criteria andContactsBackflowStatusLessThanOrEqualTo(Byte value) {
            addCriterion("contacts_backflow_status <=", value, "contactsBackflowStatus");
            return (Criteria) this;
        }

        public Criteria andContactsBackflowStatusIn(List<Byte> values) {
            addCriterion("contacts_backflow_status in", values, "contactsBackflowStatus");
            return (Criteria) this;
        }

        public Criteria andContactsBackflowStatusNotIn(List<Byte> values) {
            addCriterion("contacts_backflow_status not in", values, "contactsBackflowStatus");
            return (Criteria) this;
        }

        public Criteria andContactsBackflowStatusBetween(Byte value1, Byte value2) {
            addCriterion("contacts_backflow_status between", value1, value2, "contactsBackflowStatus");
            return (Criteria) this;
        }

        public Criteria andContactsBackflowStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("contacts_backflow_status not between", value1, value2, "contactsBackflowStatus");
            return (Criteria) this;
        }

        public Criteria andCreditTypeIsNull() {
            addCriterion("credit_type is null");
            return (Criteria) this;
        }

        public Criteria andCreditTypeIsNotNull() {
            addCriterion("credit_type is not null");
            return (Criteria) this;
        }

        public Criteria andCreditTypeEqualTo(Byte value) {
            addCriterion("credit_type =", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeNotEqualTo(Byte value) {
            addCriterion("credit_type <>", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeGreaterThan(Byte value) {
            addCriterion("credit_type >", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("credit_type >=", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeLessThan(Byte value) {
            addCriterion("credit_type <", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeLessThanOrEqualTo(Byte value) {
            addCriterion("credit_type <=", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeIn(List<Byte> values) {
            addCriterion("credit_type in", values, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeNotIn(List<Byte> values) {
            addCriterion("credit_type not in", values, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeBetween(Byte value1, Byte value2) {
            addCriterion("credit_type between", value1, value2, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("credit_type not between", value1, value2, "creditType");
            return (Criteria) this;
        }

        public Criteria andIsPushArbitrationIsNull() {
            addCriterion("is_push_arbitration is null");
            return (Criteria) this;
        }

        public Criteria andIsPushArbitrationIsNotNull() {
            addCriterion("is_push_arbitration is not null");
            return (Criteria) this;
        }

        public Criteria andIsPushArbitrationEqualTo(Byte value) {
            addCriterion("is_push_arbitration =", value, "isPushArbitration");
            return (Criteria) this;
        }

        public Criteria andIsPushArbitrationNotEqualTo(Byte value) {
            addCriterion("is_push_arbitration <>", value, "isPushArbitration");
            return (Criteria) this;
        }

        public Criteria andIsPushArbitrationGreaterThan(Byte value) {
            addCriterion("is_push_arbitration >", value, "isPushArbitration");
            return (Criteria) this;
        }

        public Criteria andIsPushArbitrationGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_push_arbitration >=", value, "isPushArbitration");
            return (Criteria) this;
        }

        public Criteria andIsPushArbitrationLessThan(Byte value) {
            addCriterion("is_push_arbitration <", value, "isPushArbitration");
            return (Criteria) this;
        }

        public Criteria andIsPushArbitrationLessThanOrEqualTo(Byte value) {
            addCriterion("is_push_arbitration <=", value, "isPushArbitration");
            return (Criteria) this;
        }

        public Criteria andIsPushArbitrationIn(List<Byte> values) {
            addCriterion("is_push_arbitration in", values, "isPushArbitration");
            return (Criteria) this;
        }

        public Criteria andIsPushArbitrationNotIn(List<Byte> values) {
            addCriterion("is_push_arbitration not in", values, "isPushArbitration");
            return (Criteria) this;
        }

        public Criteria andIsPushArbitrationBetween(Byte value1, Byte value2) {
            addCriterion("is_push_arbitration between", value1, value2, "isPushArbitration");
            return (Criteria) this;
        }

        public Criteria andIsPushArbitrationNotBetween(Byte value1, Byte value2) {
            addCriterion("is_push_arbitration not between", value1, value2, "isPushArbitration");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNull() {
            addCriterion("longitude is null");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNotNull() {
            addCriterion("longitude is not null");
            return (Criteria) this;
        }

        public Criteria andLongitudeEqualTo(String value) {
            addCriterion("longitude =", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotEqualTo(String value) {
            addCriterion("longitude <>", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThan(String value) {
            addCriterion("longitude >", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("longitude >=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThan(String value) {
            addCriterion("longitude <", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThanOrEqualTo(String value) {
            addCriterion("longitude <=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLike(String value) {
            addCriterion("longitude like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotLike(String value) {
            addCriterion("longitude not like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeIn(List<String> values) {
            addCriterion("longitude in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotIn(List<String> values) {
            addCriterion("longitude not in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeBetween(String value1, String value2) {
            addCriterion("longitude between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotBetween(String value1, String value2) {
            addCriterion("longitude not between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNull() {
            addCriterion("latitude is null");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNotNull() {
            addCriterion("latitude is not null");
            return (Criteria) this;
        }

        public Criteria andLatitudeEqualTo(String value) {
            addCriterion("latitude =", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotEqualTo(String value) {
            addCriterion("latitude <>", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThan(String value) {
            addCriterion("latitude >", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("latitude >=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThan(String value) {
            addCriterion("latitude <", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThanOrEqualTo(String value) {
            addCriterion("latitude <=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLike(String value) {
            addCriterion("latitude like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotLike(String value) {
            addCriterion("latitude not like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIn(List<String> values) {
            addCriterion("latitude in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotIn(List<String> values) {
            addCriterion("latitude not in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeBetween(String value1, String value2) {
            addCriterion("latitude between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotBetween(String value1, String value2) {
            addCriterion("latitude not between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceIsNull() {
            addCriterion("loan_province is null");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceIsNotNull() {
            addCriterion("loan_province is not null");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceEqualTo(String value) {
            addCriterion("loan_province =", value, "loanProvince");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceNotEqualTo(String value) {
            addCriterion("loan_province <>", value, "loanProvince");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceGreaterThan(String value) {
            addCriterion("loan_province >", value, "loanProvince");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceGreaterThanOrEqualTo(String value) {
            addCriterion("loan_province >=", value, "loanProvince");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceLessThan(String value) {
            addCriterion("loan_province <", value, "loanProvince");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceLessThanOrEqualTo(String value) {
            addCriterion("loan_province <=", value, "loanProvince");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceLike(String value) {
            addCriterion("loan_province like", value, "loanProvince");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceNotLike(String value) {
            addCriterion("loan_province not like", value, "loanProvince");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceIn(List<String> values) {
            addCriterion("loan_province in", values, "loanProvince");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceNotIn(List<String> values) {
            addCriterion("loan_province not in", values, "loanProvince");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceBetween(String value1, String value2) {
            addCriterion("loan_province between", value1, value2, "loanProvince");
            return (Criteria) this;
        }

        public Criteria andLoanProvinceNotBetween(String value1, String value2) {
            addCriterion("loan_province not between", value1, value2, "loanProvince");
            return (Criteria) this;
        }

        public Criteria andLoanCityIsNull() {
            addCriterion("loan_city is null");
            return (Criteria) this;
        }

        public Criteria andLoanCityIsNotNull() {
            addCriterion("loan_city is not null");
            return (Criteria) this;
        }

        public Criteria andLoanCityEqualTo(String value) {
            addCriterion("loan_city =", value, "loanCity");
            return (Criteria) this;
        }

        public Criteria andLoanCityNotEqualTo(String value) {
            addCriterion("loan_city <>", value, "loanCity");
            return (Criteria) this;
        }

        public Criteria andLoanCityGreaterThan(String value) {
            addCriterion("loan_city >", value, "loanCity");
            return (Criteria) this;
        }

        public Criteria andLoanCityGreaterThanOrEqualTo(String value) {
            addCriterion("loan_city >=", value, "loanCity");
            return (Criteria) this;
        }

        public Criteria andLoanCityLessThan(String value) {
            addCriterion("loan_city <", value, "loanCity");
            return (Criteria) this;
        }

        public Criteria andLoanCityLessThanOrEqualTo(String value) {
            addCriterion("loan_city <=", value, "loanCity");
            return (Criteria) this;
        }

        public Criteria andLoanCityLike(String value) {
            addCriterion("loan_city like", value, "loanCity");
            return (Criteria) this;
        }

        public Criteria andLoanCityNotLike(String value) {
            addCriterion("loan_city not like", value, "loanCity");
            return (Criteria) this;
        }

        public Criteria andLoanCityIn(List<String> values) {
            addCriterion("loan_city in", values, "loanCity");
            return (Criteria) this;
        }

        public Criteria andLoanCityNotIn(List<String> values) {
            addCriterion("loan_city not in", values, "loanCity");
            return (Criteria) this;
        }

        public Criteria andLoanCityBetween(String value1, String value2) {
            addCriterion("loan_city between", value1, value2, "loanCity");
            return (Criteria) this;
        }

        public Criteria andLoanCityNotBetween(String value1, String value2) {
            addCriterion("loan_city not between", value1, value2, "loanCity");
            return (Criteria) this;
        }

        public Criteria andLoanAreaIsNull() {
            addCriterion("loan_area is null");
            return (Criteria) this;
        }

        public Criteria andLoanAreaIsNotNull() {
            addCriterion("loan_area is not null");
            return (Criteria) this;
        }

        public Criteria andLoanAreaEqualTo(String value) {
            addCriterion("loan_area =", value, "loanArea");
            return (Criteria) this;
        }

        public Criteria andLoanAreaNotEqualTo(String value) {
            addCriterion("loan_area <>", value, "loanArea");
            return (Criteria) this;
        }

        public Criteria andLoanAreaGreaterThan(String value) {
            addCriterion("loan_area >", value, "loanArea");
            return (Criteria) this;
        }

        public Criteria andLoanAreaGreaterThanOrEqualTo(String value) {
            addCriterion("loan_area >=", value, "loanArea");
            return (Criteria) this;
        }

        public Criteria andLoanAreaLessThan(String value) {
            addCriterion("loan_area <", value, "loanArea");
            return (Criteria) this;
        }

        public Criteria andLoanAreaLessThanOrEqualTo(String value) {
            addCriterion("loan_area <=", value, "loanArea");
            return (Criteria) this;
        }

        public Criteria andLoanAreaLike(String value) {
            addCriterion("loan_area like", value, "loanArea");
            return (Criteria) this;
        }

        public Criteria andLoanAreaNotLike(String value) {
            addCriterion("loan_area not like", value, "loanArea");
            return (Criteria) this;
        }

        public Criteria andLoanAreaIn(List<String> values) {
            addCriterion("loan_area in", values, "loanArea");
            return (Criteria) this;
        }

        public Criteria andLoanAreaNotIn(List<String> values) {
            addCriterion("loan_area not in", values, "loanArea");
            return (Criteria) this;
        }

        public Criteria andLoanAreaBetween(String value1, String value2) {
            addCriterion("loan_area between", value1, value2, "loanArea");
            return (Criteria) this;
        }

        public Criteria andLoanAreaNotBetween(String value1, String value2) {
            addCriterion("loan_area not between", value1, value2, "loanArea");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeIsNull() {
            addCriterion("submit_time is null");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeIsNotNull() {
            addCriterion("submit_time is not null");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeEqualTo(Date value) {
            addCriterion("submit_time =", value, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeNotEqualTo(Date value) {
            addCriterion("submit_time <>", value, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeGreaterThan(Date value) {
            addCriterion("submit_time >", value, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("submit_time >=", value, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeLessThan(Date value) {
            addCriterion("submit_time <", value, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeLessThanOrEqualTo(Date value) {
            addCriterion("submit_time <=", value, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeIn(List<Date> values) {
            addCriterion("submit_time in", values, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeNotIn(List<Date> values) {
            addCriterion("submit_time not in", values, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeBetween(Date value1, Date value2) {
            addCriterion("submit_time between", value1, value2, "submitTime");
            return (Criteria) this;
        }

        public Criteria andSubmitTimeNotBetween(Date value1, Date value2) {
            addCriterion("submit_time not between", value1, value2, "submitTime");
            return (Criteria) this;
        }

        public Criteria andCreditUpdateTimeIsNull() {
            addCriterion("credit_update_time is null");
            return (Criteria) this;
        }

        public Criteria andCreditUpdateTimeIsNotNull() {
            addCriterion("credit_update_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreditUpdateTimeEqualTo(Date value) {
            addCriterion("credit_update_time =", value, "creditUpdateTime");
            return (Criteria) this;
        }

        public Criteria andCreditUpdateTimeNotEqualTo(Date value) {
            addCriterion("credit_update_time <>", value, "creditUpdateTime");
            return (Criteria) this;
        }

        public Criteria andCreditUpdateTimeGreaterThan(Date value) {
            addCriterion("credit_update_time >", value, "creditUpdateTime");
            return (Criteria) this;
        }

        public Criteria andCreditUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("credit_update_time >=", value, "creditUpdateTime");
            return (Criteria) this;
        }

        public Criteria andCreditUpdateTimeLessThan(Date value) {
            addCriterion("credit_update_time <", value, "creditUpdateTime");
            return (Criteria) this;
        }

        public Criteria andCreditUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("credit_update_time <=", value, "creditUpdateTime");
            return (Criteria) this;
        }

        public Criteria andCreditUpdateTimeIn(List<Date> values) {
            addCriterion("credit_update_time in", values, "creditUpdateTime");
            return (Criteria) this;
        }

        public Criteria andCreditUpdateTimeNotIn(List<Date> values) {
            addCriterion("credit_update_time not in", values, "creditUpdateTime");
            return (Criteria) this;
        }

        public Criteria andCreditUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("credit_update_time between", value1, value2, "creditUpdateTime");
            return (Criteria) this;
        }

        public Criteria andCreditUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("credit_update_time not between", value1, value2, "creditUpdateTime");
            return (Criteria) this;
        }

        public Criteria andConfirmTimeIsNull() {
            addCriterion("confirm_time is null");
            return (Criteria) this;
        }

        public Criteria andConfirmTimeIsNotNull() {
            addCriterion("confirm_time is not null");
            return (Criteria) this;
        }

        public Criteria andConfirmTimeEqualTo(Date value) {
            addCriterion("confirm_time =", value, "confirmTime");
            return (Criteria) this;
        }

        public Criteria andConfirmTimeNotEqualTo(Date value) {
            addCriterion("confirm_time <>", value, "confirmTime");
            return (Criteria) this;
        }

        public Criteria andConfirmTimeGreaterThan(Date value) {
            addCriterion("confirm_time >", value, "confirmTime");
            return (Criteria) this;
        }

        public Criteria andConfirmTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("confirm_time >=", value, "confirmTime");
            return (Criteria) this;
        }

        public Criteria andConfirmTimeLessThan(Date value) {
            addCriterion("confirm_time <", value, "confirmTime");
            return (Criteria) this;
        }

        public Criteria andConfirmTimeLessThanOrEqualTo(Date value) {
            addCriterion("confirm_time <=", value, "confirmTime");
            return (Criteria) this;
        }

        public Criteria andConfirmTimeIn(List<Date> values) {
            addCriterion("confirm_time in", values, "confirmTime");
            return (Criteria) this;
        }

        public Criteria andConfirmTimeNotIn(List<Date> values) {
            addCriterion("confirm_time not in", values, "confirmTime");
            return (Criteria) this;
        }

        public Criteria andConfirmTimeBetween(Date value1, Date value2) {
            addCriterion("confirm_time between", value1, value2, "confirmTime");
            return (Criteria) this;
        }

        public Criteria andConfirmTimeNotBetween(Date value1, Date value2) {
            addCriterion("confirm_time not between", value1, value2, "confirmTime");
            return (Criteria) this;
        }

        public Criteria andAuditedTimeIsNull() {
            addCriterion("audited_time is null");
            return (Criteria) this;
        }

        public Criteria andAuditedTimeIsNotNull() {
            addCriterion("audited_time is not null");
            return (Criteria) this;
        }

        public Criteria andAuditedTimeEqualTo(Date value) {
            addCriterion("audited_time =", value, "auditedTime");
            return (Criteria) this;
        }

        public Criteria andAuditedTimeNotEqualTo(Date value) {
            addCriterion("audited_time <>", value, "auditedTime");
            return (Criteria) this;
        }

        public Criteria andAuditedTimeGreaterThan(Date value) {
            addCriterion("audited_time >", value, "auditedTime");
            return (Criteria) this;
        }

        public Criteria andAuditedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("audited_time >=", value, "auditedTime");
            return (Criteria) this;
        }

        public Criteria andAuditedTimeLessThan(Date value) {
            addCriterion("audited_time <", value, "auditedTime");
            return (Criteria) this;
        }

        public Criteria andAuditedTimeLessThanOrEqualTo(Date value) {
            addCriterion("audited_time <=", value, "auditedTime");
            return (Criteria) this;
        }

        public Criteria andAuditedTimeIn(List<Date> values) {
            addCriterion("audited_time in", values, "auditedTime");
            return (Criteria) this;
        }

        public Criteria andAuditedTimeNotIn(List<Date> values) {
            addCriterion("audited_time not in", values, "auditedTime");
            return (Criteria) this;
        }

        public Criteria andAuditedTimeBetween(Date value1, Date value2) {
            addCriterion("audited_time between", value1, value2, "auditedTime");
            return (Criteria) this;
        }

        public Criteria andAuditedTimeNotBetween(Date value1, Date value2) {
            addCriterion("audited_time not between", value1, value2, "auditedTime");
            return (Criteria) this;
        }

        public Criteria andAutoAuditResultIsNull() {
            addCriterion("auto_audit_result is null");
            return (Criteria) this;
        }

        public Criteria andAutoAuditResultIsNotNull() {
            addCriterion("auto_audit_result is not null");
            return (Criteria) this;
        }

        public Criteria andAutoAuditResultEqualTo(Byte value) {
            addCriterion("auto_audit_result =", value, "autoAuditResult");
            return (Criteria) this;
        }

        public Criteria andAutoAuditResultNotEqualTo(Byte value) {
            addCriterion("auto_audit_result <>", value, "autoAuditResult");
            return (Criteria) this;
        }

        public Criteria andAutoAuditResultGreaterThan(Byte value) {
            addCriterion("auto_audit_result >", value, "autoAuditResult");
            return (Criteria) this;
        }

        public Criteria andAutoAuditResultGreaterThanOrEqualTo(Byte value) {
            addCriterion("auto_audit_result >=", value, "autoAuditResult");
            return (Criteria) this;
        }

        public Criteria andAutoAuditResultLessThan(Byte value) {
            addCriterion("auto_audit_result <", value, "autoAuditResult");
            return (Criteria) this;
        }

        public Criteria andAutoAuditResultLessThanOrEqualTo(Byte value) {
            addCriterion("auto_audit_result <=", value, "autoAuditResult");
            return (Criteria) this;
        }

        public Criteria andAutoAuditResultIn(List<Byte> values) {
            addCriterion("auto_audit_result in", values, "autoAuditResult");
            return (Criteria) this;
        }

        public Criteria andAutoAuditResultNotIn(List<Byte> values) {
            addCriterion("auto_audit_result not in", values, "autoAuditResult");
            return (Criteria) this;
        }

        public Criteria andAutoAuditResultBetween(Byte value1, Byte value2) {
            addCriterion("auto_audit_result between", value1, value2, "autoAuditResult");
            return (Criteria) this;
        }

        public Criteria andAutoAuditResultNotBetween(Byte value1, Byte value2) {
            addCriterion("auto_audit_result not between", value1, value2, "autoAuditResult");
            return (Criteria) this;
        }

        public Criteria andAuditManagerIdIsNull() {
            addCriterion("audit_manager_id is null");
            return (Criteria) this;
        }

        public Criteria andAuditManagerIdIsNotNull() {
            addCriterion("audit_manager_id is not null");
            return (Criteria) this;
        }

        public Criteria andAuditManagerIdEqualTo(Long value) {
            addCriterion("audit_manager_id =", value, "auditManagerId");
            return (Criteria) this;
        }

        public Criteria andAuditManagerIdNotEqualTo(Long value) {
            addCriterion("audit_manager_id <>", value, "auditManagerId");
            return (Criteria) this;
        }

        public Criteria andAuditManagerIdGreaterThan(Long value) {
            addCriterion("audit_manager_id >", value, "auditManagerId");
            return (Criteria) this;
        }

        public Criteria andAuditManagerIdGreaterThanOrEqualTo(Long value) {
            addCriterion("audit_manager_id >=", value, "auditManagerId");
            return (Criteria) this;
        }

        public Criteria andAuditManagerIdLessThan(Long value) {
            addCriterion("audit_manager_id <", value, "auditManagerId");
            return (Criteria) this;
        }

        public Criteria andAuditManagerIdLessThanOrEqualTo(Long value) {
            addCriterion("audit_manager_id <=", value, "auditManagerId");
            return (Criteria) this;
        }

        public Criteria andAuditManagerIdIn(List<Long> values) {
            addCriterion("audit_manager_id in", values, "auditManagerId");
            return (Criteria) this;
        }

        public Criteria andAuditManagerIdNotIn(List<Long> values) {
            addCriterion("audit_manager_id not in", values, "auditManagerId");
            return (Criteria) this;
        }

        public Criteria andAuditManagerIdBetween(Long value1, Long value2) {
            addCriterion("audit_manager_id between", value1, value2, "auditManagerId");
            return (Criteria) this;
        }

        public Criteria andAuditManagerIdNotBetween(Long value1, Long value2) {
            addCriterion("audit_manager_id not between", value1, value2, "auditManagerId");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameIsNull() {
            addCriterion("audit_manager_name is null");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameIsNotNull() {
            addCriterion("audit_manager_name is not null");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameEqualTo(String value) {
            addCriterion("audit_manager_name =", value, "auditManagerName");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameNotEqualTo(String value) {
            addCriterion("audit_manager_name <>", value, "auditManagerName");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameGreaterThan(String value) {
            addCriterion("audit_manager_name >", value, "auditManagerName");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameGreaterThanOrEqualTo(String value) {
            addCriterion("audit_manager_name >=", value, "auditManagerName");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameLessThan(String value) {
            addCriterion("audit_manager_name <", value, "auditManagerName");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameLessThanOrEqualTo(String value) {
            addCriterion("audit_manager_name <=", value, "auditManagerName");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameLike(String value) {
            addCriterion("audit_manager_name like", value, "auditManagerName");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameNotLike(String value) {
            addCriterion("audit_manager_name not like", value, "auditManagerName");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameIn(List<String> values) {
            addCriterion("audit_manager_name in", values, "auditManagerName");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameNotIn(List<String> values) {
            addCriterion("audit_manager_name not in", values, "auditManagerName");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameBetween(String value1, String value2) {
            addCriterion("audit_manager_name between", value1, value2, "auditManagerName");
            return (Criteria) this;
        }

        public Criteria andAuditManagerNameNotBetween(String value1, String value2) {
            addCriterion("audit_manager_name not between", value1, value2, "auditManagerName");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIsNull() {
            addCriterion("publish_time is null");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIsNotNull() {
            addCriterion("publish_time is not null");
            return (Criteria) this;
        }

        public Criteria andPublishTimeEqualTo(Date value) {
            addCriterion("publish_time =", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotEqualTo(Date value) {
            addCriterion("publish_time <>", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeGreaterThan(Date value) {
            addCriterion("publish_time >", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("publish_time >=", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeLessThan(Date value) {
            addCriterion("publish_time <", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeLessThanOrEqualTo(Date value) {
            addCriterion("publish_time <=", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIn(List<Date> values) {
            addCriterion("publish_time in", values, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotIn(List<Date> values) {
            addCriterion("publish_time not in", values, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeBetween(Date value1, Date value2) {
            addCriterion("publish_time between", value1, value2, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotBetween(Date value1, Date value2) {
            addCriterion("publish_time not between", value1, value2, "publishTime");
            return (Criteria) this;
        }

        public Criteria andInvestEndTimeIsNull() {
            addCriterion("invest_end_time is null");
            return (Criteria) this;
        }

        public Criteria andInvestEndTimeIsNotNull() {
            addCriterion("invest_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andInvestEndTimeEqualTo(Date value) {
            addCriterion("invest_end_time =", value, "investEndTime");
            return (Criteria) this;
        }

        public Criteria andInvestEndTimeNotEqualTo(Date value) {
            addCriterion("invest_end_time <>", value, "investEndTime");
            return (Criteria) this;
        }

        public Criteria andInvestEndTimeGreaterThan(Date value) {
            addCriterion("invest_end_time >", value, "investEndTime");
            return (Criteria) this;
        }

        public Criteria andInvestEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("invest_end_time >=", value, "investEndTime");
            return (Criteria) this;
        }

        public Criteria andInvestEndTimeLessThan(Date value) {
            addCriterion("invest_end_time <", value, "investEndTime");
            return (Criteria) this;
        }

        public Criteria andInvestEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("invest_end_time <=", value, "investEndTime");
            return (Criteria) this;
        }

        public Criteria andInvestEndTimeIn(List<Date> values) {
            addCriterion("invest_end_time in", values, "investEndTime");
            return (Criteria) this;
        }

        public Criteria andInvestEndTimeNotIn(List<Date> values) {
            addCriterion("invest_end_time not in", values, "investEndTime");
            return (Criteria) this;
        }

        public Criteria andInvestEndTimeBetween(Date value1, Date value2) {
            addCriterion("invest_end_time between", value1, value2, "investEndTime");
            return (Criteria) this;
        }

        public Criteria andInvestEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("invest_end_time not between", value1, value2, "investEndTime");
            return (Criteria) this;
        }

        public Criteria andFullSuccessTimeIsNull() {
            addCriterion("full_success_time is null");
            return (Criteria) this;
        }

        public Criteria andFullSuccessTimeIsNotNull() {
            addCriterion("full_success_time is not null");
            return (Criteria) this;
        }

        public Criteria andFullSuccessTimeEqualTo(Date value) {
            addCriterion("full_success_time =", value, "fullSuccessTime");
            return (Criteria) this;
        }

        public Criteria andFullSuccessTimeNotEqualTo(Date value) {
            addCriterion("full_success_time <>", value, "fullSuccessTime");
            return (Criteria) this;
        }

        public Criteria andFullSuccessTimeGreaterThan(Date value) {
            addCriterion("full_success_time >", value, "fullSuccessTime");
            return (Criteria) this;
        }

        public Criteria andFullSuccessTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("full_success_time >=", value, "fullSuccessTime");
            return (Criteria) this;
        }

        public Criteria andFullSuccessTimeLessThan(Date value) {
            addCriterion("full_success_time <", value, "fullSuccessTime");
            return (Criteria) this;
        }

        public Criteria andFullSuccessTimeLessThanOrEqualTo(Date value) {
            addCriterion("full_success_time <=", value, "fullSuccessTime");
            return (Criteria) this;
        }

        public Criteria andFullSuccessTimeIn(List<Date> values) {
            addCriterion("full_success_time in", values, "fullSuccessTime");
            return (Criteria) this;
        }

        public Criteria andFullSuccessTimeNotIn(List<Date> values) {
            addCriterion("full_success_time not in", values, "fullSuccessTime");
            return (Criteria) this;
        }

        public Criteria andFullSuccessTimeBetween(Date value1, Date value2) {
            addCriterion("full_success_time between", value1, value2, "fullSuccessTime");
            return (Criteria) this;
        }

        public Criteria andFullSuccessTimeNotBetween(Date value1, Date value2) {
            addCriterion("full_success_time not between", value1, value2, "fullSuccessTime");
            return (Criteria) this;
        }

        public Criteria andDelFlagIsNull() {
            addCriterion("del_flag is null");
            return (Criteria) this;
        }

        public Criteria andDelFlagIsNotNull() {
            addCriterion("del_flag is not null");
            return (Criteria) this;
        }

        public Criteria andDelFlagEqualTo(Byte value) {
            addCriterion("del_flag =", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotEqualTo(Byte value) {
            addCriterion("del_flag <>", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagGreaterThan(Byte value) {
            addCriterion("del_flag >", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagGreaterThanOrEqualTo(Byte value) {
            addCriterion("del_flag >=", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagLessThan(Byte value) {
            addCriterion("del_flag <", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagLessThanOrEqualTo(Byte value) {
            addCriterion("del_flag <=", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagIn(List<Byte> values) {
            addCriterion("del_flag in", values, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotIn(List<Byte> values) {
            addCriterion("del_flag not in", values, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagBetween(Byte value1, Byte value2) {
            addCriterion("del_flag between", value1, value2, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotBetween(Byte value1, Byte value2) {
            addCriterion("del_flag not between", value1, value2, "delFlag");
            return (Criteria) this;
        }

        public Criteria andPrizeIdIsNull() {
            addCriterion("prize_id is null");
            return (Criteria) this;
        }

        public Criteria andPrizeIdIsNotNull() {
            addCriterion("prize_id is not null");
            return (Criteria) this;
        }

        public Criteria andPrizeIdEqualTo(Long value) {
            addCriterion("prize_id =", value, "prizeId");
            return (Criteria) this;
        }

        public Criteria andPrizeIdNotEqualTo(Long value) {
            addCriterion("prize_id <>", value, "prizeId");
            return (Criteria) this;
        }

        public Criteria andPrizeIdGreaterThan(Long value) {
            addCriterion("prize_id >", value, "prizeId");
            return (Criteria) this;
        }

        public Criteria andPrizeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("prize_id >=", value, "prizeId");
            return (Criteria) this;
        }

        public Criteria andPrizeIdLessThan(Long value) {
            addCriterion("prize_id <", value, "prizeId");
            return (Criteria) this;
        }

        public Criteria andPrizeIdLessThanOrEqualTo(Long value) {
            addCriterion("prize_id <=", value, "prizeId");
            return (Criteria) this;
        }

        public Criteria andPrizeIdIn(List<Long> values) {
            addCriterion("prize_id in", values, "prizeId");
            return (Criteria) this;
        }

        public Criteria andPrizeIdNotIn(List<Long> values) {
            addCriterion("prize_id not in", values, "prizeId");
            return (Criteria) this;
        }

        public Criteria andPrizeIdBetween(Long value1, Long value2) {
            addCriterion("prize_id between", value1, value2, "prizeId");
            return (Criteria) this;
        }

        public Criteria andPrizeIdNotBetween(Long value1, Long value2) {
            addCriterion("prize_id not between", value1, value2, "prizeId");
            return (Criteria) this;
        }

        public Criteria andPrizeOrderNoIsNull() {
            addCriterion("prize_order_no is null");
            return (Criteria) this;
        }

        public Criteria andPrizeOrderNoIsNotNull() {
            addCriterion("prize_order_no is not null");
            return (Criteria) this;
        }

        public Criteria andPrizeOrderNoEqualTo(Long value) {
            addCriterion("prize_order_no =", value, "prizeOrderNo");
            return (Criteria) this;
        }

        public Criteria andPrizeOrderNoNotEqualTo(Long value) {
            addCriterion("prize_order_no <>", value, "prizeOrderNo");
            return (Criteria) this;
        }

        public Criteria andPrizeOrderNoGreaterThan(Long value) {
            addCriterion("prize_order_no >", value, "prizeOrderNo");
            return (Criteria) this;
        }

        public Criteria andPrizeOrderNoGreaterThanOrEqualTo(Long value) {
            addCriterion("prize_order_no >=", value, "prizeOrderNo");
            return (Criteria) this;
        }

        public Criteria andPrizeOrderNoLessThan(Long value) {
            addCriterion("prize_order_no <", value, "prizeOrderNo");
            return (Criteria) this;
        }

        public Criteria andPrizeOrderNoLessThanOrEqualTo(Long value) {
            addCriterion("prize_order_no <=", value, "prizeOrderNo");
            return (Criteria) this;
        }

        public Criteria andPrizeOrderNoIn(List<Long> values) {
            addCriterion("prize_order_no in", values, "prizeOrderNo");
            return (Criteria) this;
        }

        public Criteria andPrizeOrderNoNotIn(List<Long> values) {
            addCriterion("prize_order_no not in", values, "prizeOrderNo");
            return (Criteria) this;
        }

        public Criteria andPrizeOrderNoBetween(Long value1, Long value2) {
            addCriterion("prize_order_no between", value1, value2, "prizeOrderNo");
            return (Criteria) this;
        }

        public Criteria andPrizeOrderNoNotBetween(Long value1, Long value2) {
            addCriterion("prize_order_no not between", value1, value2, "prizeOrderNo");
            return (Criteria) this;
        }

        public Criteria andIsreleasedIsNull() {
            addCriterion("isReleased is null");
            return (Criteria) this;
        }

        public Criteria andIsreleasedIsNotNull() {
            addCriterion("isReleased is not null");
            return (Criteria) this;
        }

        public Criteria andIsreleasedEqualTo(Byte value) {
            addCriterion("isReleased =", value, "isreleased");
            return (Criteria) this;
        }

        public Criteria andIsreleasedNotEqualTo(Byte value) {
            addCriterion("isReleased <>", value, "isreleased");
            return (Criteria) this;
        }

        public Criteria andIsreleasedGreaterThan(Byte value) {
            addCriterion("isReleased >", value, "isreleased");
            return (Criteria) this;
        }

        public Criteria andIsreleasedGreaterThanOrEqualTo(Byte value) {
            addCriterion("isReleased >=", value, "isreleased");
            return (Criteria) this;
        }

        public Criteria andIsreleasedLessThan(Byte value) {
            addCriterion("isReleased <", value, "isreleased");
            return (Criteria) this;
        }

        public Criteria andIsreleasedLessThanOrEqualTo(Byte value) {
            addCriterion("isReleased <=", value, "isreleased");
            return (Criteria) this;
        }

        public Criteria andIsreleasedIn(List<Byte> values) {
            addCriterion("isReleased in", values, "isreleased");
            return (Criteria) this;
        }

        public Criteria andIsreleasedNotIn(List<Byte> values) {
            addCriterion("isReleased not in", values, "isreleased");
            return (Criteria) this;
        }

        public Criteria andIsreleasedBetween(Byte value1, Byte value2) {
            addCriterion("isReleased between", value1, value2, "isreleased");
            return (Criteria) this;
        }

        public Criteria andIsreleasedNotBetween(Byte value1, Byte value2) {
            addCriterion("isReleased not between", value1, value2, "isreleased");
            return (Criteria) this;
        }

        public Criteria andReleasetimeIsNull() {
            addCriterion("releaseTime is null");
            return (Criteria) this;
        }

        public Criteria andReleasetimeIsNotNull() {
            addCriterion("releaseTime is not null");
            return (Criteria) this;
        }

        public Criteria andReleasetimeEqualTo(Date value) {
            addCriterion("releaseTime =", value, "releasetime");
            return (Criteria) this;
        }

        public Criteria andReleasetimeNotEqualTo(Date value) {
            addCriterion("releaseTime <>", value, "releasetime");
            return (Criteria) this;
        }

        public Criteria andReleasetimeGreaterThan(Date value) {
            addCriterion("releaseTime >", value, "releasetime");
            return (Criteria) this;
        }

        public Criteria andReleasetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("releaseTime >=", value, "releasetime");
            return (Criteria) this;
        }

        public Criteria andReleasetimeLessThan(Date value) {
            addCriterion("releaseTime <", value, "releasetime");
            return (Criteria) this;
        }

        public Criteria andReleasetimeLessThanOrEqualTo(Date value) {
            addCriterion("releaseTime <=", value, "releasetime");
            return (Criteria) this;
        }

        public Criteria andReleasetimeIn(List<Date> values) {
            addCriterion("releaseTime in", values, "releasetime");
            return (Criteria) this;
        }

        public Criteria andReleasetimeNotIn(List<Date> values) {
            addCriterion("releaseTime not in", values, "releasetime");
            return (Criteria) this;
        }

        public Criteria andReleasetimeBetween(Date value1, Date value2) {
            addCriterion("releaseTime between", value1, value2, "releasetime");
            return (Criteria) this;
        }

        public Criteria andReleasetimeNotBetween(Date value1, Date value2) {
            addCriterion("releaseTime not between", value1, value2, "releasetime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}